﻿
using System;
using System.Runtime.Serialization;
using V82;
using V82.Перечисления;//Ссылка;
namespace V82.Перечисления//Ссылка
{
	///<summary>
	///(Упр)
	///</summary>
	[DataContract]
	public enum ВидыОперацийЗаявкиНаРасходование
	{
		[NonSerialized]
		ПустаяСсылка = - 1,
		[EnumMember(Value = "{\"Ссылка\":\"ea38777a-b72c-4d64-9450-12db5236a679\", \"Представление\":\"ОплатаПоставщику\"}")]
		ОплатаПоставщику = 0,//оплата поставщику
		[EnumMember(Value = "{\"Ссылка\":\"f3906bdf-2e15-4978-be1c-88074ca724ad\", \"Представление\":\"ВозвратДенежныхСредствПокупателю\"}")]
		ВозвратДенежныхСредствПокупателю = 1,//возврат покупателю
		[EnumMember(Value = "{\"Ссылка\":\"94b3b20c-6844-40be-8480-13f367c9b19b\", \"Представление\":\"ВыдачаДенежныхСредствПодотчетнику\"}")]
		ВыдачаДенежныхСредствПодотчетнику = 2,//выдача подотчетному лицу
		[EnumMember(Value = "{\"Ссылка\":\"bcff634a-7d4e-4751-9721-5f427cac63bc\", \"Представление\":\"ВыдачаДенежныхСредствКассеККМ\"}")]
		ВыдачаДенежныхСредствКассеККМ = 3,//выдача в кассу ККМ
		[EnumMember(Value = "{\"Ссылка\":\"3465f2bc-5919-48d2-a71e-0183be90bc2a\", \"Представление\":\"РасчетыПоКредитамИЗаймамСКонтрагентами\"}")]
		РасчетыПоКредитамИЗаймамСКонтрагентами = 4,//расчеты по кредитам и займам с контрагентами
		[EnumMember(Value = "{\"Ссылка\":\"53443006-6b31-41ae-8687-53e59335ca44\", \"Представление\":\"РасчетыПоКредитамИЗаймамСРаботниками\"}")]
		РасчетыПоКредитамИЗаймамСРаботниками = 5,//расчеты по кредитам и займам с работниками
	///<summary>
	///(Общ)
	///</summary>
		[EnumMember(Value = "{\"Ссылка\":\"c834073a-84ee-408f-884d-d059a08c69ac\", \"Представление\":\"ПеречислениеНалога\"}")]
		ПеречислениеНалога = 6,//перечисление налога
	///<summary>
	///(Общ)
	///</summary>
		[EnumMember(Value = "{\"Ссылка\":\"201eb1e7-9c5b-4b9a-9a0d-6feaa43de5a2\", \"Представление\":\"ПеречислениеЗП\"}")]
		ПеречислениеЗП = 7,//выплата заработной платы
		[EnumMember(Value = "{\"Ссылка\":\"79dae7ba-d93b-4838-9b8b-128064b0cf14\", \"Представление\":\"ПрочийРасходДенежныхСредств\"}")]
		ПрочийРасходДенежныхСредств = 8,//прочий расход
		[EnumMember(Value = "{\"Ссылка\":\"8786a296-dded-48b6-8eb7-98d3d1e2001d\", \"Представление\":\"ПрочиеРасчетыСКонтрагентами\"}")]
		ПрочиеРасчетыСКонтрагентами = 9,//прочие расчеты с контрагентами
	}
	public static partial class ВидыОперацийЗаявкиНаРасходование_Значения//:ПеречислениеСсылка
	{
		public static readonly Guid ОплатаПоставщику = new Guid("db125094-3652-79a6-4d64-b72cea38777a");//оплата поставщику
		public static readonly Guid ВозвратДенежныхСредствПокупателю = new Guid("07881cbe-a74c-ad24-4978-2e15f3906bdf");//возврат покупателю
		public static readonly Guid ВыдачаДенежныхСредствПодотчетнику = new Guid("f3138084-c967-9bb1-40be-684494b3b20c");//выдача подотчетному лицу
		public static readonly Guid ВыдачаДенежныхСредствКассеККМ = new Guid("425f2197-ac7c-bc63-4751-7d4ebcff634a");//выдача в кассу ККМ
		public static readonly Guid РасчетыПоКредитамИЗаймамСКонтрагентами = new Guid("83011ea7-90be-2abc-48d2-59193465f2bc");//расчеты по кредитам и займам с контрагентами
		public static readonly Guid РасчетыПоКредитамИЗаймамСРаботниками = new Guid("e5538786-3593-44ca-41ae-6b3153443006");//расчеты по кредитам и займам с работниками
		///<summary>
		///(Общ)
		///</summary>
		public static readonly Guid ПеречислениеНалога = new Guid("59d04d88-8ca0-ac69-408f-84eec834073a");//перечисление налога
		///<summary>
		///(Общ)
		///</summary>
		public static readonly Guid ПеречислениеЗП = new Guid("ea6f0d9a-3da4-a2e5-4b9a-9c5b201eb1e7");//выплата заработной платы
		public static readonly Guid ПрочийРасходДенежныхСредств = new Guid("80128b9b-b064-14cf-4838-d93b79dae7ba");//прочий расход
		public static readonly Guid ПрочиеРасчетыСКонтрагентами = new Guid("d398b78e-e2d1-1d00-48b6-dded8786a296");//прочие расчеты с контрагентами
		public static ВидыОперацийЗаявкиНаРасходование Получить(this ВидыОперацийЗаявкиНаРасходование Значение, byte[] Ссылка)
		{
			return Получить(Значение, new Guid(Ссылка));
		}
		public static ВидыОперацийЗаявкиНаРасходование Получить(this ВидыОперацийЗаявкиНаРасходование Значение, Guid Ссылка)
		{
			if(Ссылка == ОплатаПоставщику)
			{
				return ВидыОперацийЗаявкиНаРасходование.ОплатаПоставщику;
			}
			else if(Ссылка == ВозвратДенежныхСредствПокупателю)
			{
				return ВидыОперацийЗаявкиНаРасходование.ВозвратДенежныхСредствПокупателю;
			}
			else if(Ссылка == ВыдачаДенежныхСредствПодотчетнику)
			{
				return ВидыОперацийЗаявкиНаРасходование.ВыдачаДенежныхСредствПодотчетнику;
			}
			else if(Ссылка == ВыдачаДенежныхСредствКассеККМ)
			{
				return ВидыОперацийЗаявкиНаРасходование.ВыдачаДенежныхСредствКассеККМ;
			}
			else if(Ссылка == РасчетыПоКредитамИЗаймамСКонтрагентами)
			{
				return ВидыОперацийЗаявкиНаРасходование.РасчетыПоКредитамИЗаймамСКонтрагентами;
			}
			else if(Ссылка == РасчетыПоКредитамИЗаймамСРаботниками)
			{
				return ВидыОперацийЗаявкиНаРасходование.РасчетыПоКредитамИЗаймамСРаботниками;
			}
			else if(Ссылка == ПеречислениеНалога)
			{
				return ВидыОперацийЗаявкиНаРасходование.ПеречислениеНалога;
			}
			else if(Ссылка == ПеречислениеЗП)
			{
				return ВидыОперацийЗаявкиНаРасходование.ПеречислениеЗП;
			}
			else if(Ссылка == ПрочийРасходДенежныхСредств)
			{
				return ВидыОперацийЗаявкиНаРасходование.ПрочийРасходДенежныхСредств;
			}
			else if(Ссылка == ПрочиеРасчетыСКонтрагентами)
			{
				return ВидыОперацийЗаявкиНаРасходование.ПрочиеРасчетыСКонтрагентами;
			}
			return ВидыОперацийЗаявкиНаРасходование.ПустаяСсылка;
		}
		public static byte[] Ключ(this ВидыОперацийЗаявкиНаРасходование Значение)
		{
			return Ссылка(Значение).ToByteArray();
		}
		public static Guid Ссылка(this ВидыОперацийЗаявкиНаРасходование Значение)
		{
			switch (Значение)
			{
				case ВидыОперацийЗаявкиНаРасходование.ОплатаПоставщику: return ОплатаПоставщику;
				case ВидыОперацийЗаявкиНаРасходование.ВозвратДенежныхСредствПокупателю: return ВозвратДенежныхСредствПокупателю;
				case ВидыОперацийЗаявкиНаРасходование.ВыдачаДенежныхСредствПодотчетнику: return ВыдачаДенежныхСредствПодотчетнику;
				case ВидыОперацийЗаявкиНаРасходование.ВыдачаДенежныхСредствКассеККМ: return ВыдачаДенежныхСредствКассеККМ;
				case ВидыОперацийЗаявкиНаРасходование.РасчетыПоКредитамИЗаймамСКонтрагентами: return РасчетыПоКредитамИЗаймамСКонтрагентами;
				case ВидыОперацийЗаявкиНаРасходование.РасчетыПоКредитамИЗаймамСРаботниками: return РасчетыПоКредитамИЗаймамСРаботниками;
				case ВидыОперацийЗаявкиНаРасходование.ПеречислениеНалога: return ПеречислениеНалога;
				case ВидыОперацийЗаявкиНаРасходование.ПеречислениеЗП: return ПеречислениеЗП;
				case ВидыОперацийЗаявкиНаРасходование.ПрочийРасходДенежныхСредств: return ПрочийРасходДенежныхСредств;
				case ВидыОперацийЗаявкиНаРасходование.ПрочиеРасчетыСКонтрагентами: return ПрочиеРасчетыСКонтрагентами;
			}
			return Guid.Empty;
		}
	}
}